	// 公共方法
	import {
		wxChooseLocation
	} from '@/utils/wx/wxPublick-h5.js'

	/**
	 * 文本提示
	 */
	function showText(title = '请输入提示语', duration = 3000, icon = 'none') {
		uni.showToast({
			title,
			duration,
			icon
		})
	}
	/**
	 * 加载中
	 */
	function showLoading(status = true, title = "加载中") {
		if (status) {
			uni.showLoading({
				title: title
			});
		} else {
			uni.hideLoading();
		}
	}


	/**
	 * 打开电话号码操作面板
	 */
	async function phoneCall(val) {
		let str = await new Promise(function(resolve, reject) {

			// #ifdef H5
			uni.makePhoneCall({
				phoneNumber: String(val),
				success(res) {
					resolve('success')
				},
				fail: err => {
					console.log(err);
					reject('error')
					showText('拨打电话失败')
				}
			});
			// #endif

			//#ifdef MP-WEIXIN
			uni.showActionSheet({
				itemList: ['呼叫' + val, '复制号码', '添加到手机通讯录'],
				success(res) {
					resolve('success')
					// 呼叫
					if (res.tapIndex === 0) {
						uni.makePhoneCall({
							phoneNumber: String(val),
							fail: err => {
								console.log(err);
								showText('拨打电话失败')
							}
						});
					}

					// 复制号码
					if (res.tapIndex === 1) {
						uni.setClipboardData({
							data: String(val),
							success: function() {
								showText('复制成功')
							},
							fail: function(err) {
								console.log(err);
								showText('复制失败')
							}
						});
					}

					// 添加到手机通讯录
					if (res.tapIndex === 2) {
						uni.addPhoneContact({
							firstName: String(val), // 名字必填项
							mobilePhoneNumber: String(val), // 电话号
							fail: function(err) {
								console.log(err);
								showText('添加失败')
							}
						});
					}


				},
				fail(err) {
					console.log(err);
					reject('error')
				}
			})
			//#endif



		});

		return str

	}

	/**
	 * 打开地图
	 */
	function openAddressMap(val) {
		// 地图所需的数据
		let obj = {
			latitude: val.latitude, //纬度
			longitude: val.longitude, //经度
			address: val.address, // 详细说明
		}
		if (val.name !== undefined) {
			obj['name'] = val.name
		}



		console.log(obj, '看看这是打开地图的', val);
		// h5平台
		// #ifdef H5
		// 使用微信内置地图查看位置
		wxChooseLocation({
			latitude: obj.latitude, //纬度
			longitude: obj.longitude, //经度
			address: obj.address, // 详细说明
			name: obj?.name, // 位置名
			scale: 28, // 地图缩放级别,整型值,范围从1~28。默认为最大
			infoUrl: '', // 在查看位置界面底部显示的超链接,可点击跳转
		})
		// #endif


		// 微信小程序平台
		// #ifdef MP-WEIXIN

		//使用微信内置地图查看位置
		wx.openLocation({
			latitude: obj.latitude, //纬度
			longitude: obj.longitude, //经度
			address: obj.address, // 详细说明
			name: obj?.name, // 位置名
			scale: 28, // 地图缩放级别,整型值,范围从1~28。默认为最大
			success: res => {
				console.log('成功', res);
			},
			fail: err => {
				console.log('失败', err);
			}
		})
		// #endif

		// app平台
		// #ifdef APP
		// 打开内置地图查看位置
		uni.openLocation({
			latitude: obj.latitude, //纬度
			longitude: obj.longitude, //经度
			address: obj.address, // 详细说明
			name: obj?.name, // 位置名
			success: function() {
				console.log('success');
			}
		});
		// #endif
	}
	
	
	/**
	 * 判断值是否有值
	 */
	function getValueStatus(val){
		let type = false
		
		// 排除极端情况
		if(val === undefined || val === null || val === "" || val !== val){
			type = false
			
			
		}else if(typeof(val) !== Object){
			
			// 如果值是基本数据类型
			type = true
			
		}else if(Object.prototype.toString.call(val) === '[object Object]'){
			
			// 如果是对象
			if(Object.keys(val).length > 0){
				type = true
			}else{
				type = false
			}
			
			
		}else{
			
			// 如果是数组
			if(val.length > 0){
				type  = true
			}else{
				type = false
			}
		}
		
		
		return type
		
		
	}
	
	
	function upData(file){
		let data = new FormData()
		data.append('file', file)
		
		return data
	}

	export default {
		showText,
		showLoading,
		phoneCall,
		openAddressMap,
		
		getValueStatus, // 判断值是否有值
		
		
		upData
	};